Javascript 中將資料型態分成,基本型別(Primitive)與物件型別(Object)兩大類。
基本型別又分成string
、number
、Boolean
、null
、undefined
幾種。
除了上面這幾種基本型別,幾乎可以歸類在物件型別(Object)。
例如:函式、物件。
基本型別可以放一些簡單的資料進去,那麼物件就可以放多層、複雜的資料。
我們很常在物件裡面放字串、數字、布林值、函式,比較複雜的資料通常就會建立物件來存放這些資料。
我們可以使用 new
關鍵字來建立物件
var point=new Object();
這裡使用 new Object()
建立物件後在放進變數 point
建立物件後,就可以放更多的資料進去
point.x=3; // 在物件建立 x 屬性,將3放進去
point.y=4; // 在物件建立 y 屬性,將4放進去
point.getPosition=function(){ // 在物件建立方法
alert(this.x+" , "+this.y);
}
alert() 裡面的 this 代表的是使用這個函式的物件,也就是 point
要使用屬性的話這樣寫
alert(point.x); // 顯示 3
要使用方法的話這樣寫
point.getPosition(); // 顯示 3 , 4
物件比較常用在比較複雜的資料,搭配「類別」使用就可以快速建立許多物件。
做一個遊戲的範例,可能就可以比較好想像什麼時候會使用物件。
var player=new Object(); // 建立一個新的物件,代表建立一個新玩家
player.name="Abby"; // 玩家的名稱叫做 Abby
player.hp=100; // 玩家的血量有 100
player.fight=function(){ // 玩家戰鬥的話血量-2
this.hp=this.hp-2;
}
player.rest=function(){ // 玩家恢復的話,增加血量
this.hp++;
}
player.report=function(){ // 顯示玩家名稱與血量
alert(this.name+": "+this.hp)
}
建立好這個物件以及物件成員之後,我們可以來試試看
player.fight(); // 玩家進行戰鬥,血量-2
player.rest(); // 玩家進行休息,血量+1
player.report();// 回報玩家狀態,顯示 "Abby: 99"